package cn.dida.util;

import java.util.Arrays;

public class TimeSlotUtil2 {
	/**
	 * 比较区间和区间数组 返回区间，规则是（开始值：比小的取小值，结束值，比大的取最大值）
	 * @author kelan
	 * @date 2018年1月24日
	 * @param A
	 * @param interval
	 * @return
	 */
	public Interval getOverlappingCount(Interval[] A,Interval interval) {
		 
		Interval retinterval = null;
        for (int i = 0; i < A.length; i++) {
        	if(Math.max(A[i].start,interval.start) < Math.min(A[i].end, interval.end)){
        		if(retinterval != null){
        			retinterval = new Interval(Math.min(Math.min(A[i].start,interval.start),retinterval.start),
            				Math.max(Math.max(A[i].end, interval.end),retinterval.end));
        		}else{
        			retinterval = new Interval(Math.min(A[i].start,interval.start),Math.max(A[i].end, interval.end));
        		}
        	}
        }
 
        return retinterval;
	}
	
	/**
	 * 比较2个区间 返回区间，规则是（开始值：比小的取小值，结束值，比大的取最大值）
	 * @author kelan
	 * @date 2018年1月24日
	 * @param A
	 * @param interval
	 * @return
	 */
	public Interval getOverlappingCount(Interval A,Interval interval) {
		 
		Interval retinterval = null;
		
    	if(Math.max(A.start,interval.start) < Math.min(A.end, interval.end)){
    		
    		retinterval = new Interval(Math.min(A.start,interval.start),Math.max(A.end, interval.end));
    		
    	}
 
        return retinterval;
	}
	
	public static void main(String[] args) {
		 
        Interval[] testInterval = new Interval[1];
//        
//        testInterval[1] = new Interval(410L, 503L);
//        testInterval[2] = new Interval(400L, 470L);
        testInterval[3] = new Interval(400L, 410L);
        testInterval[0] = new Interval(411L, 460L);
        
        Interval interval = new Interval(411L, 413L);
 
        TimeSlotUtil2 demo = new TimeSlotUtil2();
        Interval retinterval = demo.getOverlappingCount(testInterval,interval);
// 
        System.out.println(retinterval.start+"======"+retinterval.end);
 
    }

}
